The present invention relates generally to devices for reading data from an optical disc, such as a CD-R (Compact Disc-Recordable) or DVD (Digital Video Disc-Recordable) where data are recorded on a packet-by-packet basis, and it relates more particularly to an improved optical disc reading device which can provide enhanced data reading performance by use of advance data readout.
Examples of the conventionally-known methods for recording data on a CD-R optical disc include the "disc-at-once" method in which data for the whole disc are recorded in succession by a single recording operation and the "track-at-once" method which allows a plurality of sessions to be written onto a disc in an additive fashion (additive writing). All of these recording methods, however, involve recording of a great quantity of data per recording operation, consuming a managing memory area of 10 to 20 megabytes per recording operation. Thus, the known recording methods are not suited to applications where a relatively small quantity of data are written a plurality of times in an additive fashion. In contrast, the so-called "packet-write" recording method, in which a small quantity of data are written onto an optical disc on a packet-by-packet basis, has the advantage that any necessary file can be additively written in much the same way as normally done on conventional hard discs, and hence it has been becoming increasingly popular in applications where a CD-R is used as an external storage device for a computer.
FIG. 5 is a diagram illustrating a recording format based on the packet-write recording method. Each track is composed of a pre-gap, which is a managing area provided at the head of the track, and a plurality of packets following the pre-gap. In this format, data are written on a packet-by-packet basis; that is, each new packet is written onto the optical disc, following an already-written packet. For this purpose, the pre-gap contains track descriptors, and a specific position to record a new packet is determined by reference to position information of a last-written packet on the disc. In additively writing a new packet, it is impossible to physically link the new packet with the preceding already-written packet in a continuous manner, so that a practically unreadable block called a "link block" is provided between every adjoining packets. Link information called a "splice" is stored in a data link period between the packets. The splice comprises information stored in a total of seven blocks: run-out information (Run-out) stored in two blocks at the end of the preceding packet; link information (Link) stored in one block at the head of the new or succeeding packet; and run-in information (Run-in) stored in four blocks of the succeeding packet.
The packet length is generally set by an external host computer. Because each packet comprises a plurality of blocks (sectors) each having a length of about 2K bytes, the packet length may be determined using 2K-byte units in principle. However, due to the splice consuming a total of 14K bytes, the recording area can not be used efficiently if the packet length is too short. For this reason, the packet length is normally set to 64K bytes, 128 bytes or the like so that that the effective use rate of the recording area exceeds 80 per cent.
In cases where a host computer reads out data from a CD, the data are often read out in a successive manner. Thus, conventional optical disc reading devices, such as CD-ROM drive devices, are often designed to continue the data readout operation, even after having read out data within a designated area, in order to read in advance the following data into an internal data buffer. This advance data readout into the internal data buffer would achieve enhanced data reading performance for next access from the host computer.
However, if the data written on the packet-by-packet basis are readout successively for the purpose of advance data readout, a non-correctable error could occur in the link block that is a written-data gap between adjoining packets, as noted earlier. In such a case, a seek-track operation is retried on the same portion a plurality of times and the data readout operation would be disabled after all. As a result, the advance data readout has to be halted, which would unavoidably lead to considerable degradation in the reading performance.